---
title: Async workers
---

Asynchronous jobs are a powerful tool for building scalable and efficient web applications. By offloading time-consuming
tasks to background processes, you can reduce the response time of your application and improve the user experience.


There are several use cases for async jobs in web applications. Some common examples include:

1. Email notifications - Sending email notifications can be a time-consuming process, especially if you have a large number of users. By offloading this task to a background process, you can reduce the response time of your application and improve the user experience.

2. Data processing - Data processing can be a CPU-intensive task that can slow down your application. By offloading this task to a background process, you can reduce the response time of your application and improve the user experience.

3. Image resizing - Image resizing can be a time-consuming process, especially if you have a large number of images. By offloading this task to a background process, you can reduce the response time of your application and improve the user experience.

### Async Workers in the SaaS Boilerplate

The SaaS Boilerplate includes two types of “async workers” to manage asynchronous jobs:
- Celery workers, being the default one. It is a task queue, which major selling point is its great compatibility with
Django.
- AWS Lambda functions with help of the Serverless Framework. The Serverless Framework provides a set of tools and
abstractions that simplify the process of deploying and managing serverless applications.

Tasks can be scheduled or started from the backend application part. This makes it easy to schedule tasks to run at
specific times, such as sending out email notifications at a specific time of day.

:::info
If you would like to learn more about the technical aspects of the async workers in SaaS Boilerplate, please refer to:
[Async workers](/working-with-sb/async-workers)
:::